﻿using Service.Domain.Conventions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Service.Domain.Interfaces
{
    public interface IRepository<T, TId> where T: class
    {
        void Add(T obj);

        void Update(T obj);

        void Remove(TId id);

        T GetById(TId id);

        IQueryable<T> GetAll(IConvention<T> convention);

        int SaveChanges();
    }
}
